<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>read_object_model_3d [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dobjectmodel.html">3D Object Model</a> / <a href="toc_3dobjectmodel_creation.html">Creation</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">read_object_model_3d</span><span data-if="c" style="display:none;">T_read_object_model_3d</span><span data-if="cpp" style="display:none;">ReadObjectModel3d</span><span data-if="dotnet" style="display:none;">ReadObjectModel3d</span><span data-if="python" style="display:none;">read_object_model_3d</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">read_object_model_3d</span><span data-if="c" style="display:none;">T_read_object_model_3d</span><span data-if="cpp" style="display:none;">ReadObjectModel3d</span><span data-if="dotnet" style="display:none;">ReadObjectModel3d</span><span data-if="python" style="display:none;">read_object_model_3d</span></code> — Read a 3D object model from a file.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>read_object_model_3d</b>( :  : <a href="#FileName"><i>FileName</i></a>, <a href="#Scale"><i>Scale</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, <a href="#Status"><i>Status</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_read_object_model_3d</b>(const Htuple <a href="#FileName"><i>FileName</i></a>, const Htuple <a href="#Scale"><i>Scale</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>, Htuple* <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, Htuple* <a href="#Status"><i>Status</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>ReadObjectModel3d</b>(const HTuple&amp; <a href="#FileName"><i>FileName</i></a>, const HTuple&amp; <a href="#Scale"><i>Scale</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, HTuple* <a href="#Status"><i>Status</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>HObjectModel3D</b>(const HString&amp; <a href="#FileName"><i>FileName</i></a>, const HTuple&amp; <a href="#Scale"><i>Scale</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Status"><i>Status</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>HObjectModel3D</b>(const HString&amp; <a href="#FileName"><i>FileName</i></a>, const HString&amp; <a href="#Scale"><i>Scale</i></a>, const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HString&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HString* <a href="#Status"><i>Status</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>HObjectModel3D</b>(const char* <a href="#FileName"><i>FileName</i></a>, const char* <a href="#Scale"><i>Scale</i></a>, const char* <a href="#GenParamName"><i>GenParamName</i></a>, const char* <a href="#GenParamValue"><i>GenParamValue</i></a>, HString* <a href="#Status"><i>Status</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>HObjectModel3D</b>(const wchar_t* <a href="#FileName"><i>FileName</i></a>, const wchar_t* <a href="#Scale"><i>Scale</i></a>, const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, const wchar_t* <a href="#GenParamValue"><i>GenParamValue</i></a>, HString* <a href="#Status"><i>Status</i></a>)  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>ReadObjectModel3d</b>(const HString&amp; <a href="#FileName"><i>FileName</i></a>, const HTuple&amp; <a href="#Scale"><i>Scale</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>HString <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>ReadObjectModel3d</b>(const HString&amp; <a href="#FileName"><i>FileName</i></a>, const HString&amp; <a href="#Scale"><i>Scale</i></a>, const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HString&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>HString <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>ReadObjectModel3d</b>(const char* <a href="#FileName"><i>FileName</i></a>, const char* <a href="#Scale"><i>Scale</i></a>, const char* <a href="#GenParamName"><i>GenParamName</i></a>, const char* <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>HString <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>ReadObjectModel3d</b>(const wchar_t* <a href="#FileName"><i>FileName</i></a>, const wchar_t* <a href="#Scale"><i>Scale</i></a>, const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, const wchar_t* <a href="#GenParamValue"><i>GenParamValue</i></a>)  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>ReadObjectModel3d</b>(<a href="HTuple.html">HTuple</a> <a href="#FileName"><i>fileName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Scale"><i>scale</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Status"><i>status</i></a>)</code></p>
<p>
<code>public <a href="HObjectModel3D.html">HObjectModel3D</a>(string <a href="#FileName"><i>fileName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Scale"><i>scale</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Status"><i>status</i></a>)</code></p>
<p>
<code>public <a href="HObjectModel3D.html">HObjectModel3D</a>(string <a href="#FileName"><i>fileName</i></a>, string <a href="#Scale"><i>scale</i></a>, string <a href="#GenParamName"><i>genParamName</i></a>, string <a href="#GenParamValue"><i>genParamValue</i></a>, out string <a href="#Status"><i>status</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>ReadObjectModel3d</b>(string <a href="#FileName"><i>fileName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Scale"><i>scale</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>string <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>ReadObjectModel3d</b>(string <a href="#FileName"><i>fileName</i></a>, string <a href="#Scale"><i>scale</i></a>, string <a href="#GenParamName"><i>genParamName</i></a>, string <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>read_object_model_3d</b>(<a href="#FileName"><i>file_name</i></a>: str, <a href="#Scale"><i>scale</i></a>: Union[str, float, int], <a href="#GenParamName"><i>gen_param_name</i></a>: MaybeSequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[str, float, int]]) -&gt; Tuple[HHandle, Sequence[str]]</code></p>
<p>
<code>def <b>read_object_model_3d_s</b>(<a href="#FileName"><i>file_name</i></a>: str, <a href="#Scale"><i>scale</i></a>: Union[str, float, int], <a href="#GenParamName"><i>gen_param_name</i></a>: MaybeSequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[str, float, int]]) -&gt; Tuple[HHandle, str]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></code> reads a 3D object model from
the file <a href="#FileName"><i><code><span data-if="hdevelop" style="display:inline">FileName</span><span data-if="c" style="display:none">FileName</span><span data-if="cpp" style="display:none">FileName</span><span data-if="com" style="display:none">FileName</span><span data-if="dotnet" style="display:none">fileName</span><span data-if="python" style="display:none">file_name</span></code></i></a> and returns a 3D object model handle in
<a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a>.
</p>
<p>该算子 supports the following file formats:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'om3'</span><span data-if="c" style="display:none">"om3"</span><span data-if="cpp" style="display:none">"om3"</span><span data-if="com" style="display:none">"om3"</span><span data-if="dotnet" style="display:none">"om3"</span><span data-if="python" style="display:none">"om3"</span></i>:</b></dt>
<dd><p>

HALCON format for 3D object model. Files with this format can be
written by <a href="write_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">write_object_model_3d</span><span data-if="c" style="display:none">write_object_model_3d</span><span data-if="cpp" style="display:none">WriteObjectModel3d</span><span data-if="com" style="display:none">WriteObjectModel3d</span><span data-if="dotnet" style="display:none">WriteObjectModel3d</span><span data-if="python" style="display:none">write_object_model_3d</span></code></a>.
The default file extension for this format is 'om3'.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'dxf'</span><span data-if="c" style="display:none">"dxf"</span><span data-if="cpp" style="display:none">"dxf"</span><span data-if="com" style="display:none">"dxf"</span><span data-if="dotnet" style="display:none">"dxf"</span><span data-if="python" style="display:none">"dxf"</span></i>:</b></dt>
<dd><p>

AUTOCAD format.
HALCON supports only the ASCII version of the format.
See below for details about reading this file format.
The default file extension for this format is 'dxf'.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span></i>:</b></dt>
<dd><p>

Object File Format. This is a simple ASCII-based format that can hold
3D points and polygons. The binary OFF format is not supported.
The default file extension for this format is 'off'.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span></i>:</b></dt>
<dd><p>

Polygon File Format (also Stanford Triangle Format).
This is a simple format that can hold 3D points, point
normals, polygons, color information and point-based extended attributes.
HALCON supports both the ASCII and the binary version of the format.
If the file to be read contains unsupported information, the additional
data is ignored and only the supported data is read.
If the name of a <code>property</code> entry of a 'ply' file coincides with
the name of a standard
attribute (see <a href="set_object_model_3d_attrib.html"><code><span data-if="hdevelop" style="display:inline">set_object_model_3d_attrib</span><span data-if="c" style="display:none">set_object_model_3d_attrib</span><span data-if="cpp" style="display:none">SetObjectModel3dAttrib</span><span data-if="com" style="display:none">SetObjectModel3dAttrib</span><span data-if="dotnet" style="display:none">SetObjectModel3dAttrib</span><span data-if="python" style="display:none">set_object_model_3d_attrib</span></code></a>), the property will
preferably be read into the standard attribute.
The default file extension for this format is 'ply'.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span></i>:</b></dt>
<dd><p>

OBJ file format, also 'Wavefront OBJ-Format'. This is an
ASCII-based format that can hold 3D points, polygons, normals,
texture coordinates, materials and other information.
HALCON supports points ('v'-lines), point normals ('vn'-lines) and
polygonal faces ('f'-lines).
Existing point normals are only returned if there are exactly as many
point normals as there are points.
Other entities are ignored.
The default file extension for this format is 'obj'.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'stl'</span><span data-if="c" style="display:none">"stl"</span><span data-if="cpp" style="display:none">"stl"</span><span data-if="com" style="display:none">"stl"</span><span data-if="dotnet" style="display:none">"stl"</span><span data-if="python" style="display:none">"stl"</span></i>,</b></dt>
<dd>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'stl_binary'</span><span data-if="c" style="display:none">"stl_binary"</span><span data-if="cpp" style="display:none">"stl_binary"</span><span data-if="com" style="display:none">"stl_binary"</span><span data-if="dotnet" style="display:none">"stl_binary"</span><span data-if="python" style="display:none">"stl_binary"</span></i>,</b></dt>
<dd>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'stl_ascii'</span><span data-if="c" style="display:none">"stl_ascii"</span><span data-if="cpp" style="display:none">"stl_ascii"</span><span data-if="com" style="display:none">"stl_ascii"</span><span data-if="dotnet" style="display:none">"stl_ascii"</span><span data-if="python" style="display:none">"stl_ascii"</span></i>:</b></dt>
<dd><p>

STL file format, also 'Stereolithography format',
'SurfaceTesselationLanguage ', 'StandardTriangulationLanguage', and
'StandardTesselationLanguage'.
This format stores triangles and triangle normals.
However, as triangle normals are not supported by HALCON 3D
object models, only triangles are read while the triangle normals
are ignored.  Normals are recomputed from the triangles if required.
HALCON reads both the ASCII and the binary version of this format.
If <i><span data-if="hdevelop" style="display:inline">'stl'</span><span data-if="c" style="display:none">"stl"</span><span data-if="cpp" style="display:none">"stl"</span><span data-if="com" style="display:none">"stl"</span><span data-if="dotnet" style="display:none">"stl"</span><span data-if="python" style="display:none">"stl"</span></i> is set, HALCON will auto-detect the type. Setting the
type to <i><span data-if="hdevelop" style="display:inline">'stl_binary'</span><span data-if="c" style="display:none">"stl_binary"</span><span data-if="cpp" style="display:none">"stl_binary"</span><span data-if="com" style="display:none">"stl_binary"</span><span data-if="dotnet" style="display:none">"stl_binary"</span><span data-if="python" style="display:none">"stl_binary"</span></i> or <i><span data-if="hdevelop" style="display:inline">'stl_ascii'</span><span data-if="c" style="display:none">"stl_ascii"</span><span data-if="cpp" style="display:none">"stl_ascii"</span><span data-if="com" style="display:none">"stl_ascii"</span><span data-if="dotnet" style="display:none">"stl_ascii"</span><span data-if="python" style="display:none">"stl_ascii"</span></i> will enforce the
corresponding format.
The default file extension for this format is 'stl'.
</p></dd>
</dl>
<p>When reading a DXF file, the output parameter <a href="#Status"><i><code><span data-if="hdevelop" style="display:inline">Status</span><span data-if="c" style="display:none">Status</span><span data-if="cpp" style="display:none">Status</span><span data-if="com" style="display:none">Status</span><span data-if="dotnet" style="display:none">status</span><span data-if="python" style="display:none">status</span></code></i></a> contains
information about the number of 3D faces that were read and, if necessary,
warnings that parts of the DXF file could not be interpreted.
</p>
<p>The parameter <a href="#Scale"><i><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></i></a> defines the scale of the file. For example,
if the parameter is set to <i><span data-if="hdevelop" style="display:inline">'mm'</span><span data-if="c" style="display:none">"mm"</span><span data-if="cpp" style="display:none">"mm"</span><span data-if="com" style="display:none">"mm"</span><span data-if="dotnet" style="display:none">"mm"</span><span data-if="python" style="display:none">"mm"</span></i>, all units in the file are
assumed to have the unit <i><span data-if="hdevelop" style="display:inline">'mm'</span><span data-if="c" style="display:none">"mm"</span><span data-if="cpp" style="display:none">"mm"</span><span data-if="com" style="display:none">"mm"</span><span data-if="dotnet" style="display:none">"mm"</span><span data-if="python" style="display:none">"mm"</span></i> and are transformed into the
usual HALCON-internal unit <i><span data-if="hdevelop" style="display:inline">'m'</span><span data-if="c" style="display:none">"m"</span><span data-if="cpp" style="display:none">"m"</span><span data-if="com" style="display:none">"m"</span><span data-if="dotnet" style="display:none">"m"</span><span data-if="python" style="display:none">"m"</span></i> by multiplication with <i>1e-3</i>.
A value of <i><span data-if="hdevelop" style="display:inline">'100 mm'</span><span data-if="c" style="display:none">"100 mm"</span><span data-if="cpp" style="display:none">"100 mm"</span><span data-if="com" style="display:none">"100 mm"</span><span data-if="dotnet" style="display:none">"100 mm"</span><span data-if="python" style="display:none">"100 mm"</span></i> thus becomes <i><span data-if="hdevelop" style="display:inline">'0.1 m'</span><span data-if="c" style="display:none">"0.1 m"</span><span data-if="cpp" style="display:none">"0.1 m"</span><span data-if="com" style="display:none">"0.1 m"</span><span data-if="dotnet" style="display:none">"0.1 m"</span><span data-if="python" style="display:none">"0.1 m"</span></i>.
Alternatively, a scaling factor can be passed to <a href="#Scale"><i><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></i></a>, which is
multiplied with all coordinate values found in the file.
The relation of units to scaling factors is given in the following table:
</p>
<div style="text-align:center"><table style="margin-left:auto;margin-right:auto" class="table altcolored">
<col span="1">
<col span="1">
<tr>
<th style="text-align:left">
Unit         </th>
<th style="text-align:left"> Scaling factor </th>
</tr>
<tr>
<td style="text-align:left">
m            </td>
<td style="text-align:left"> 1          </td>
</tr>
<tr>
<td style="text-align:left">
dm           </td>
<td style="text-align:left"> 0.1        </td>
</tr>
<tr>
<td style="text-align:left">
cm           </td>
<td style="text-align:left"> 0.01       </td>
</tr>
<tr>
<td style="text-align:left">
mm           </td>
<td style="text-align:left"> 0.001      </td>
</tr>
<tr>
<td style="text-align:left">
um, microns  </td>
<td style="text-align:left">  1e-6     </td>
</tr>
<tr>
<td style="text-align:left">
nm           </td>
<td style="text-align:left">  1e-9     </td>
</tr>
<tr>
<td style="text-align:left">
km           </td>
<td style="text-align:left"> 1000       </td>
</tr>
<tr>
<td style="text-align:left">
in           </td>
<td style="text-align:left"> 0.0254     </td>
</tr>
<tr>
<td style="text-align:left">
ft           </td>
<td style="text-align:left"> 0.3048     </td>
</tr>
<tr>
<td style="text-align:left">
yd           </td>
<td style="text-align:left"> 0.9144
</td>
</tr>
</table></div>
<p>Note that the parameter <a href="#Scale"><i><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></i></a> is ignored for files of type
<i><span data-if="hdevelop" style="display:inline">'om3'</span><span data-if="c" style="display:none">"om3"</span><span data-if="cpp" style="display:none">"om3"</span><span data-if="com" style="display:none">"om3"</span><span data-if="dotnet" style="display:none">"om3"</span><span data-if="python" style="display:none">"om3"</span></i>, i.e., om3-files are always read without any scale changes.
For changing the scale manually after reading a 3D object model,
use <a href="affine_trans_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_object_model_3d</span><span data-if="c" style="display:none">affine_trans_object_model_3d</span><span data-if="cpp" style="display:none">AffineTransObjectModel3d</span><span data-if="com" style="display:none">AffineTransObjectModel3d</span><span data-if="dotnet" style="display:none">AffineTransObjectModel3d</span><span data-if="python" style="display:none">affine_trans_object_model_3d</span></code></a>.
</p>
<p>A set of additional optional parameters can be set. The names and values
of the parameters are passed in <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> and
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>, respectively. Some of the optional parameters
can only be set for a certain file type. The following values for
<a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> are possible:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'file_type'</span><span data-if="c" style="display:none">"file_type"</span><span data-if="cpp" style="display:none">"file_type"</span><span data-if="com" style="display:none">"file_type"</span><span data-if="dotnet" style="display:none">"file_type"</span><span data-if="python" style="display:none">"file_type"</span></i>:</b></dt>
<dd>
<p>

Forces a file type.
If this parameter is not set, 该算子
<code><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></code> tries to auto-detect the file type
using the file ending and the file header.
If the parameter is set, the given file is interpreted as this
file format.</p>
<p>
<span class="pardesc"><span class="parcat">List of values:
      </span></span>      <i><span data-if="hdevelop" style="display:inline">'om3'</span><span data-if="c" style="display:none">"om3"</span><span data-if="cpp" style="display:none">"om3"</span><span data-if="com" style="display:none">"om3"</span><span data-if="dotnet" style="display:none">"om3"</span><span data-if="python" style="display:none">"om3"</span></i>, <i><span data-if="hdevelop" style="display:inline">'dxf'</span><span data-if="c" style="display:none">"dxf"</span><span data-if="cpp" style="display:none">"dxf"</span><span data-if="com" style="display:none">"dxf"</span><span data-if="dotnet" style="display:none">"dxf"</span><span data-if="python" style="display:none">"dxf"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span></i>, <i><span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span></i>, <i><span data-if="hdevelop" style="display:inline">'stl'</span><span data-if="c" style="display:none">"stl"</span><span data-if="cpp" style="display:none">"stl"</span><span data-if="com" style="display:none">"stl"</span><span data-if="dotnet" style="display:none">"stl"</span><span data-if="python" style="display:none">"stl"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'convert_to_triangles'</span><span data-if="c" style="display:none">"convert_to_triangles"</span><span data-if="cpp" style="display:none">"convert_to_triangles"</span><span data-if="com" style="display:none">"convert_to_triangles"</span><span data-if="dotnet" style="display:none">"convert_to_triangles"</span><span data-if="python" style="display:none">"convert_to_triangles"</span></i>:</b></dt>
<dd>
<p>

Convert all faces to triangles.
If this parameter is set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, all faces read from
the file are converted to triangles. </p>
<p>
<i>Valid for formats:</i> <i><span data-if="hdevelop" style="display:inline">'dxf'</span><span data-if="c" style="display:none">"dxf"</span><span data-if="cpp" style="display:none">"dxf"</span><span data-if="com" style="display:none">"dxf"</span><span data-if="dotnet" style="display:none">"dxf"</span><span data-if="python" style="display:none">"dxf"</span></i>, <i><span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span></i>, <i><span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span></i>.</p>
<p>
<span class="pardesc"><span class="parcat">List of values:
      </span></span> <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>.</p>
<p>
<span class="pardesc"><span class="parcat">Default:
      </span></span> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'invert_normals'</span><span data-if="c" style="display:none">"invert_normals"</span><span data-if="cpp" style="display:none">"invert_normals"</span><span data-if="com" style="display:none">"invert_normals"</span><span data-if="dotnet" style="display:none">"invert_normals"</span><span data-if="python" style="display:none">"invert_normals"</span></i>:</b></dt>
<dd>
<p>

Invert normals and face orientations.
If this parameter is set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, the orientation of
all normals and faces is inverted. </p>
<p>
<i>Valid for formats:</i> <i><span data-if="hdevelop" style="display:inline">'dxf'</span><span data-if="c" style="display:none">"dxf"</span><span data-if="cpp" style="display:none">"dxf"</span><span data-if="com" style="display:none">"dxf"</span><span data-if="dotnet" style="display:none">"dxf"</span><span data-if="python" style="display:none">"dxf"</span></i>, <i><span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span></i>, <i><span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'stl'</span><span data-if="c" style="display:none">"stl"</span><span data-if="cpp" style="display:none">"stl"</span><span data-if="com" style="display:none">"stl"</span><span data-if="dotnet" style="display:none">"stl"</span><span data-if="python" style="display:none">"stl"</span></i>.</p>
<p>
<span class="pardesc"><span class="parcat">List of values:
      </span></span> <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>.</p>
<p>
<span class="pardesc"><span class="parcat">Default:
      </span></span> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'max_approx_error'</span><span data-if="c" style="display:none">"max_approx_error"</span><span data-if="cpp" style="display:none">"max_approx_error"</span><span data-if="com" style="display:none">"max_approx_error"</span><span data-if="dotnet" style="display:none">"max_approx_error"</span><span data-if="python" style="display:none">"max_approx_error"</span></i>, <i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i>:</b></dt>
<dd>
<p>

DXF-specific parameters (see below).
</p>
<p>
<i>Valid for formats:</i> <i><span data-if="hdevelop" style="display:inline">'dxf'</span><span data-if="c" style="display:none">"dxf"</span><span data-if="cpp" style="display:none">"dxf"</span><span data-if="com" style="display:none">"dxf"</span><span data-if="dotnet" style="display:none">"dxf"</span><span data-if="python" style="display:none">"dxf"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'xyz_map_width'</span><span data-if="c" style="display:none">"xyz_map_width"</span><span data-if="cpp" style="display:none">"xyz_map_width"</span><span data-if="com" style="display:none">"xyz_map_width"</span><span data-if="dotnet" style="display:none">"xyz_map_width"</span><span data-if="python" style="display:none">"xyz_map_width"</span></i>:</b></dt>
<dd>
<p>

Creates for the read 3D object model a mapping that assigns an image
coordinate to each read 3D point, as in
<a href="xyz_to_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></code></a>.
It is assumed that the read file contains the 3D points row-wise.
The passed value is used as width of the image.
The height of the image is computed automatically.
If this parameter is set, the read 3D object model can be projected
by <a href="object_model_3d_to_xyz.html"><code><span data-if="hdevelop" style="display:inline">object_model_3d_to_xyz</span><span data-if="c" style="display:none">object_model_3d_to_xyz</span><span data-if="cpp" style="display:none">ObjectModel3dToXyz</span><span data-if="com" style="display:none">ObjectModel3dToXyz</span><span data-if="dotnet" style="display:none">ObjectModel3dToXyz</span><span data-if="python" style="display:none">object_model_3d_to_xyz</span></code></a> using the method
<i><span data-if="hdevelop" style="display:inline">'from_xyz_map'</span><span data-if="c" style="display:none">"from_xyz_map"</span><span data-if="cpp" style="display:none">"from_xyz_map"</span><span data-if="com" style="display:none">"from_xyz_map"</span><span data-if="dotnet" style="display:none">"from_xyz_map"</span><span data-if="python" style="display:none">"from_xyz_map"</span></i>.
Only one of the two parameters <i><span data-if="hdevelop" style="display:inline">'xyz_map_width'</span><span data-if="c" style="display:none">"xyz_map_width"</span><span data-if="cpp" style="display:none">"xyz_map_width"</span><span data-if="com" style="display:none">"xyz_map_width"</span><span data-if="dotnet" style="display:none">"xyz_map_width"</span><span data-if="python" style="display:none">"xyz_map_width"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'xyz_map_height'</span><span data-if="c" style="display:none">"xyz_map_height"</span><span data-if="cpp" style="display:none">"xyz_map_height"</span><span data-if="com" style="display:none">"xyz_map_height"</span><span data-if="dotnet" style="display:none">"xyz_map_height"</span><span data-if="python" style="display:none">"xyz_map_height"</span></i> can be set.
</p>
<p>
<i>Valid for formats:</i> <i><span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span></i>, <i><span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span></i>.</p>
<p>
<span class="pardesc"><span class="parcat">Default:
      </span></span> <i>-1</i>.</p>
<p>
<span class="pardesc"><span class="parcat">Restriction:
      </span></span> <i><span data-if="hdevelop" style="display:inline">'xyz_map_width'</span><span data-if="c" style="display:none">"xyz_map_width"</span><span data-if="cpp" style="display:none">"xyz_map_width"</span><span data-if="com" style="display:none">"xyz_map_width"</span><span data-if="dotnet" style="display:none">"xyz_map_width"</span><span data-if="python" style="display:none">"xyz_map_width"</span></i> &gt; 0
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'xyz_map_height'</span><span data-if="c" style="display:none">"xyz_map_height"</span><span data-if="cpp" style="display:none">"xyz_map_height"</span><span data-if="com" style="display:none">"xyz_map_height"</span><span data-if="dotnet" style="display:none">"xyz_map_height"</span><span data-if="python" style="display:none">"xyz_map_height"</span></i>:</b></dt>
<dd>
<p>

As <i><span data-if="hdevelop" style="display:inline">'xyz_map_width'</span><span data-if="c" style="display:none">"xyz_map_width"</span><span data-if="cpp" style="display:none">"xyz_map_width"</span><span data-if="com" style="display:none">"xyz_map_width"</span><span data-if="dotnet" style="display:none">"xyz_map_width"</span><span data-if="python" style="display:none">"xyz_map_width"</span></i>, but assuming that the 3D points are
aligned column-wise.
The width of the image is computed automatically.
Only one of the two parameters <i><span data-if="hdevelop" style="display:inline">'xyz_map_width'</span><span data-if="c" style="display:none">"xyz_map_width"</span><span data-if="cpp" style="display:none">"xyz_map_width"</span><span data-if="com" style="display:none">"xyz_map_width"</span><span data-if="dotnet" style="display:none">"xyz_map_width"</span><span data-if="python" style="display:none">"xyz_map_width"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'xyz_map_height'</span><span data-if="c" style="display:none">"xyz_map_height"</span><span data-if="cpp" style="display:none">"xyz_map_height"</span><span data-if="com" style="display:none">"xyz_map_height"</span><span data-if="dotnet" style="display:none">"xyz_map_height"</span><span data-if="python" style="display:none">"xyz_map_height"</span></i> can be set.
</p>
<p>
<i>Valid for formats:</i> <i><span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span></i>, <i><span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span></i>.</p>
<p>
<span class="pardesc"><span class="parcat">Default:
      </span></span> <i>-1</i>.</p>
<p>
<span class="pardesc"><span class="parcat">Restriction:
      </span></span> <i><span data-if="hdevelop" style="display:inline">'xyz_map_height'</span><span data-if="c" style="display:none">"xyz_map_height"</span><span data-if="cpp" style="display:none">"xyz_map_height"</span><span data-if="com" style="display:none">"xyz_map_height"</span><span data-if="dotnet" style="display:none">"xyz_map_height"</span><span data-if="python" style="display:none">"xyz_map_height"</span></i> &gt; 0
</p>
</dd>
</dl>
<p>Note that in many cases, it is recommended to use the 2D mapping data,
if available, for speed and robustness reasons. This is beneficial
especially when using <a href="sample_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">sample_object_model_3d</span><span data-if="c" style="display:none">sample_object_model_3d</span><span data-if="cpp" style="display:none">SampleObjectModel3d</span><span data-if="com" style="display:none">SampleObjectModel3d</span><span data-if="dotnet" style="display:none">SampleObjectModel3d</span><span data-if="python" style="display:none">sample_object_model_3d</span></code></a>,
<a href="surface_normals_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">surface_normals_object_model_3d</span><span data-if="c" style="display:none">surface_normals_object_model_3d</span><span data-if="cpp" style="display:none">SurfaceNormalsObjectModel3d</span><span data-if="com" style="display:none">SurfaceNormalsObjectModel3d</span><span data-if="dotnet" style="display:none">SurfaceNormalsObjectModel3d</span><span data-if="python" style="display:none">surface_normals_object_model_3d</span></code></a>, or when preparing a 3D object
model for surface-based matching, e.g., smoothing, removing outliers, and
reducing the domain.
</p>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></code> supports the following
DXF entities:
</p>
<ul>
<li>
<p> POLYLINE
</p>
<ul>
<li>
<p> Polyface meshes (Polyline flag 64)
</p>
</li>
<li>
<p> 3D Polylines    (Polyline flag 8,9)
</p>
</li>
<li>
<p> 2D Polylines    (Polyline flag 0)
</p>
</li>
</ul>
</li>
<li>
<p> LWPOLYLINE
</p>
<ul>
<li>
<p> 2D Polylines
</p>
</li>
</ul>
</li>
<li>
<p> 3DFACE
</p>
</li>
<li>
<p> LINE
</p>
</li>
<li>
<p> CIRCLE
</p>
</li>
<li>
<p> ARC
</p>
</li>
<li>
<p> SOLID
</p>
</li>
<li>
<p> BLOCK
</p>
</li>
<li>
<p> INSERT
</p>
</li>
</ul>
<p>The two-dimensional linear DXF entities LINE, CIRCLE and ARC are not
interpreted as faces.  Only if these elements are extruded, the resulting
faces are inserted in the 3D object model. All elements that represent
no faces but lines are added as 3D lines to the 3D object model.
</p>
<p>The curved surface of extruded DXF entities of the type CIRCLE and ARC is
approximated by planar faces. The accuracy of this approximation can be
controlled with the two generic parameters <i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'max_approx_error'</span><span data-if="c" style="display:none">"max_approx_error"</span><span data-if="cpp" style="display:none">"max_approx_error"</span><span data-if="com" style="display:none">"max_approx_error"</span><span data-if="dotnet" style="display:none">"max_approx_error"</span><span data-if="python" style="display:none">"max_approx_error"</span></i>. The parameter <i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i> defines
the minimum number of sampling points that are used for the approximation of
the DXF element CIRCLE or ARC. Note that the parameter
<i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i> always refers to the full circle, even for ARCs,
i.e., if <i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i> is set to <i>50</i> and a DXF entity of
the type ARC is read that represents a semi-circle, this semi-circle is
approximated by at least 25 sampling points. The parameter
<i><span data-if="hdevelop" style="display:inline">'max_approx_error'</span><span data-if="c" style="display:none">"max_approx_error"</span><span data-if="cpp" style="display:none">"max_approx_error"</span><span data-if="com" style="display:none">"max_approx_error"</span><span data-if="dotnet" style="display:none">"max_approx_error"</span><span data-if="python" style="display:none">"max_approx_error"</span></i> defines the maximum deviation of the XLD contour
from the ideal circle. The determination of this deviation is carried out in
the units used in the DXF file. For the determination of the accuracy of the
approximation both criteria are evaluated. Then, the criterion that leads to
the more accurate approximation is used.
</p>
<p>Internally, the following default values are used for the generic
parameters:
</p>
<ul>
<li>
<p> <i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i> = <i>20</i>
</p>
</li>
<li>
<p> <i><span data-if="hdevelop" style="display:inline">'max_approx_error'</span><span data-if="c" style="display:none">"max_approx_error"</span><span data-if="cpp" style="display:none">"max_approx_error"</span><span data-if="com" style="display:none">"max_approx_error"</span><span data-if="dotnet" style="display:none">"max_approx_error"</span><span data-if="python" style="display:none">"max_approx_error"</span></i> = <i>0.25</i>
</p>
</li>
</ul>
<p>
To achieve a more accurate approximation, either the value for
<i><span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span></i> must be increased or the value for
<i><span data-if="hdevelop" style="display:inline">'max_approx_error'</span><span data-if="c" style="display:none">"max_approx_error"</span><span data-if="cpp" style="display:none">"max_approx_error"</span><span data-if="com" style="display:none">"max_approx_error"</span><span data-if="dotnet" style="display:none">"max_approx_error"</span><span data-if="python" style="display:none">"max_approx_error"</span></i> must be decreased.
</p>
<p>One possible way to create a suitable DXF file is to create a 3D model of the
object with the CAD program AutoCAD.  Ensure that the surface of the object
is modeled, not only its edges. Lines that, e.g., define object edges, will
not be used by HALCON, because they do not define the surface of the object.
Once the modeling is completed, you can store the model in DWG format. To
convert the DWG file into a DXF file that is suitable for HALCON's 3D
matching, carry out the following steps:
</p>
<ul>
<li>
<p> Export the 3D CAD model to a 3DS file using the 3dsout command
of AutoCAD. This will triangulate the object's surface, i.e.,
the model will only consist of planes. (Users of AutoCAD 2007
or newer versions can download this command utility from
Autodesk's web site.)
</p>
</li>
<li>
<p> Open a new empty sheet in AutoCAD.
</p>
</li>
<li>
<p> Import the 3DS file into this empty sheet with the 3dsin command
of AutoCAD.
</p>
</li>
<li>
<p> Save the object into a DXF R12 file.
</p>
</li>
</ul>
<p>
Users of other CAD programs should ensure that the surface of the 3D model
is triangulated before it is exported into the DXF file. If the CAD program
is not able to carry out the triangulation, it is often possible to save
the 3D model in the proprietary format of the CAD program and to convert
it into a suitable DXF file by using a CAD file format converter that is
able to perform the triangulation.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<p>This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="FileName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">FileName</span><span data-if="c" style="display:none">FileName</span><span data-if="cpp" style="display:none">FileName</span><span data-if="com" style="display:none">FileName</span><span data-if="dotnet" style="display:none">fileName</span><span data-if="python" style="display:none">file_name</span></code></b> (input_control)  </span><span>filename.read <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Filename of the file to be read.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'mvtec_bunny_normals'</span>
    <span data-if="c" style="display:none">"mvtec_bunny_normals"</span>
    <span data-if="cpp" style="display:none">"mvtec_bunny_normals"</span>
    <span data-if="com" style="display:none">"mvtec_bunny_normals"</span>
    <span data-if="dotnet" style="display:none">"mvtec_bunny_normals"</span>
    <span data-if="python" style="display:none">"mvtec_bunny_normals"</span>
</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'mvtec_bunny'</span><span data-if="c" style="display:none">"mvtec_bunny"</span><span data-if="cpp" style="display:none">"mvtec_bunny"</span><span data-if="com" style="display:none">"mvtec_bunny"</span><span data-if="dotnet" style="display:none">"mvtec_bunny"</span><span data-if="python" style="display:none">"mvtec_bunny"</span>, <span data-if="hdevelop" style="display:inline">'glass_mug'</span><span data-if="c" style="display:none">"glass_mug"</span><span data-if="cpp" style="display:none">"glass_mug"</span><span data-if="com" style="display:none">"glass_mug"</span><span data-if="dotnet" style="display:none">"glass_mug"</span><span data-if="python" style="display:none">"glass_mug"</span>, <span data-if="hdevelop" style="display:inline">'bmc_mini'</span><span data-if="c" style="display:none">"bmc_mini"</span><span data-if="cpp" style="display:none">"bmc_mini"</span><span data-if="com" style="display:none">"bmc_mini"</span><span data-if="dotnet" style="display:none">"bmc_mini"</span><span data-if="python" style="display:none">"bmc_mini"</span>, <span data-if="hdevelop" style="display:inline">'pipe_joint'</span><span data-if="c" style="display:none">"pipe_joint"</span><span data-if="cpp" style="display:none">"pipe_joint"</span><span data-if="com" style="display:none">"pipe_joint"</span><span data-if="dotnet" style="display:none">"pipe_joint"</span><span data-if="python" style="display:none">"pipe_joint"</span>, <span data-if="hdevelop" style="display:inline">'clamp_sloped'</span><span data-if="c" style="display:none">"clamp_sloped"</span><span data-if="cpp" style="display:none">"clamp_sloped"</span><span data-if="com" style="display:none">"clamp_sloped"</span><span data-if="dotnet" style="display:none">"clamp_sloped"</span><span data-if="python" style="display:none">"clamp_sloped"</span>, <span data-if="hdevelop" style="display:inline">'tile_spacer'</span><span data-if="c" style="display:none">"tile_spacer"</span><span data-if="cpp" style="display:none">"tile_spacer"</span><span data-if="com" style="display:none">"tile_spacer"</span><span data-if="dotnet" style="display:none">"tile_spacer"</span><span data-if="python" style="display:none">"tile_spacer"</span></p>
<p class="pardesc"><span class="parcat">File extension:
          </span>.<code>off</code>, .<code>ply</code>, .<code>dxf</code>, .<code>om3</code>, .<code>obj</code>, .<code>stl</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Scale" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Scale</span><span data-if="c" style="display:none">Scale</span><span data-if="cpp" style="display:none">Scale</span><span data-if="com" style="display:none">Scale</span><span data-if="dotnet" style="display:none">scale</span><span data-if="python" style="display:none">scale</span></code></b> (input_control)  </span><span>number <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[str, float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">double / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">double / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">double / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Scale of the data in the file.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'m'</span>
    <span data-if="c" style="display:none">"m"</span>
    <span data-if="cpp" style="display:none">"m"</span>
    <span data-if="com" style="display:none">"m"</span>
    <span data-if="dotnet" style="display:none">"m"</span>
    <span data-if="python" style="display:none">"m"</span>
</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'m'</span><span data-if="c" style="display:none">"m"</span><span data-if="cpp" style="display:none">"m"</span><span data-if="com" style="display:none">"m"</span><span data-if="dotnet" style="display:none">"m"</span><span data-if="python" style="display:none">"m"</span>, <span data-if="hdevelop" style="display:inline">'cm'</span><span data-if="c" style="display:none">"cm"</span><span data-if="cpp" style="display:none">"cm"</span><span data-if="com" style="display:none">"cm"</span><span data-if="dotnet" style="display:none">"cm"</span><span data-if="python" style="display:none">"cm"</span>, <span data-if="hdevelop" style="display:inline">'mm'</span><span data-if="c" style="display:none">"mm"</span><span data-if="cpp" style="display:none">"mm"</span><span data-if="com" style="display:none">"mm"</span><span data-if="dotnet" style="display:none">"mm"</span><span data-if="python" style="display:none">"mm"</span>, <span data-if="hdevelop" style="display:inline">'microns'</span><span data-if="c" style="display:none">"microns"</span><span data-if="cpp" style="display:none">"microns"</span><span data-if="com" style="display:none">"microns"</span><span data-if="dotnet" style="display:none">"microns"</span><span data-if="python" style="display:none">"microns"</span>, <span data-if="hdevelop" style="display:inline">'um'</span><span data-if="c" style="display:none">"um"</span><span data-if="cpp" style="display:none">"um"</span><span data-if="com" style="display:none">"um"</span><span data-if="dotnet" style="display:none">"um"</span><span data-if="python" style="display:none">"um"</span>, <span data-if="hdevelop" style="display:inline">'nm'</span><span data-if="c" style="display:none">"nm"</span><span data-if="cpp" style="display:none">"nm"</span><span data-if="com" style="display:none">"nm"</span><span data-if="dotnet" style="display:none">"nm"</span><span data-if="python" style="display:none">"nm"</span>, <span data-if="hdevelop" style="display:inline">'km'</span><span data-if="c" style="display:none">"km"</span><span data-if="cpp" style="display:none">"km"</span><span data-if="com" style="display:none">"km"</span><span data-if="dotnet" style="display:none">"km"</span><span data-if="python" style="display:none">"km"</span>, <span data-if="hdevelop" style="display:inline">'in'</span><span data-if="c" style="display:none">"in"</span><span data-if="cpp" style="display:none">"in"</span><span data-if="com" style="display:none">"in"</span><span data-if="dotnet" style="display:none">"in"</span><span data-if="python" style="display:none">"in"</span>, <span data-if="hdevelop" style="display:inline">'ft'</span><span data-if="c" style="display:none">"ft"</span><span data-if="cpp" style="display:none">"ft"</span><span data-if="com" style="display:none">"ft"</span><span data-if="dotnet" style="display:none">"ft"</span><span data-if="python" style="display:none">"ft"</span>, <span data-if="hdevelop" style="display:inline">'yd'</span><span data-if="c" style="display:none">"yd"</span><span data-if="cpp" style="display:none">"yd"</span><span data-if="com" style="display:none">"yd"</span><span data-if="dotnet" style="display:none">"yd"</span><span data-if="python" style="display:none">"yd"</span>, 1.0, 0.01, 0.001, 1.0e-6, 0.0254, 0.3048, 0.9144</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>string(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'convert_to_triangles'</span><span data-if="c" style="display:none">"convert_to_triangles"</span><span data-if="cpp" style="display:none">"convert_to_triangles"</span><span data-if="com" style="display:none">"convert_to_triangles"</span><span data-if="dotnet" style="display:none">"convert_to_triangles"</span><span data-if="python" style="display:none">"convert_to_triangles"</span>, <span data-if="hdevelop" style="display:inline">'file_type'</span><span data-if="c" style="display:none">"file_type"</span><span data-if="cpp" style="display:none">"file_type"</span><span data-if="com" style="display:none">"file_type"</span><span data-if="dotnet" style="display:none">"file_type"</span><span data-if="python" style="display:none">"file_type"</span>, <span data-if="hdevelop" style="display:inline">'invert_normals'</span><span data-if="c" style="display:none">"invert_normals"</span><span data-if="cpp" style="display:none">"invert_normals"</span><span data-if="com" style="display:none">"invert_normals"</span><span data-if="dotnet" style="display:none">"invert_normals"</span><span data-if="python" style="display:none">"invert_normals"</span>, <span data-if="hdevelop" style="display:inline">'max_approx_error'</span><span data-if="c" style="display:none">"max_approx_error"</span><span data-if="cpp" style="display:none">"max_approx_error"</span><span data-if="com" style="display:none">"max_approx_error"</span><span data-if="dotnet" style="display:none">"max_approx_error"</span><span data-if="python" style="display:none">"max_approx_error"</span>, <span data-if="hdevelop" style="display:inline">'min_num_points'</span><span data-if="c" style="display:none">"min_num_points"</span><span data-if="cpp" style="display:none">"min_num_points"</span><span data-if="com" style="display:none">"min_num_points"</span><span data-if="dotnet" style="display:none">"min_num_points"</span><span data-if="python" style="display:none">"min_num_points"</span>, <span data-if="hdevelop" style="display:inline">'xyz_map_height'</span><span data-if="c" style="display:none">"xyz_map_height"</span><span data-if="cpp" style="display:none">"xyz_map_height"</span><span data-if="com" style="display:none">"xyz_map_height"</span><span data-if="dotnet" style="display:none">"xyz_map_height"</span><span data-if="python" style="display:none">"xyz_map_height"</span>, <span data-if="hdevelop" style="display:inline">'xyz_map_width'</span><span data-if="c" style="display:none">"xyz_map_width"</span><span data-if="cpp" style="display:none">"xyz_map_width"</span><span data-if="com" style="display:none">"xyz_map_width"</span><span data-if="dotnet" style="display:none">"xyz_map_width"</span><span data-if="python" style="display:none">"xyz_map_width"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>string(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[str, float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">double / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">double / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">double / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Values of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, 1, 0, <span data-if="hdevelop" style="display:inline">'om3'</span><span data-if="c" style="display:none">"om3"</span><span data-if="cpp" style="display:none">"om3"</span><span data-if="com" style="display:none">"om3"</span><span data-if="dotnet" style="display:none">"om3"</span><span data-if="python" style="display:none">"om3"</span>, <span data-if="hdevelop" style="display:inline">'off'</span><span data-if="c" style="display:none">"off"</span><span data-if="cpp" style="display:none">"off"</span><span data-if="com" style="display:none">"off"</span><span data-if="dotnet" style="display:none">"off"</span><span data-if="python" style="display:none">"off"</span>, <span data-if="hdevelop" style="display:inline">'ply'</span><span data-if="c" style="display:none">"ply"</span><span data-if="cpp" style="display:none">"ply"</span><span data-if="com" style="display:none">"ply"</span><span data-if="dotnet" style="display:none">"ply"</span><span data-if="python" style="display:none">"ply"</span>, <span data-if="hdevelop" style="display:inline">'dxf'</span><span data-if="c" style="display:none">"dxf"</span><span data-if="cpp" style="display:none">"dxf"</span><span data-if="com" style="display:none">"dxf"</span><span data-if="dotnet" style="display:none">"dxf"</span><span data-if="python" style="display:none">"dxf"</span>, <span data-if="hdevelop" style="display:inline">'obj'</span><span data-if="c" style="display:none">"obj"</span><span data-if="cpp" style="display:none">"obj"</span><span data-if="com" style="display:none">"obj"</span><span data-if="dotnet" style="display:none">"obj"</span><span data-if="python" style="display:none">"obj"</span>, <span data-if="hdevelop" style="display:inline">'stl'</span><span data-if="c" style="display:none">"stl"</span><span data-if="cpp" style="display:none">"stl"</span><span data-if="com" style="display:none">"stl"</span><span data-if="dotnet" style="display:none">"stl"</span><span data-if="python" style="display:none">"stl"</span>, <span data-if="hdevelop" style="display:inline">'stl_binary'</span><span data-if="c" style="display:none">"stl_binary"</span><span data-if="cpp" style="display:none">"stl_binary"</span><span data-if="com" style="display:none">"stl_binary"</span><span data-if="dotnet" style="display:none">"stl_binary"</span><span data-if="python" style="display:none">"stl_binary"</span>, <span data-if="hdevelop" style="display:inline">'stl_ascii'</span><span data-if="c" style="display:none">"stl_ascii"</span><span data-if="cpp" style="display:none">"stl_ascii"</span><span data-if="com" style="display:none">"stl_ascii"</span><span data-if="dotnet" style="display:none">"stl_ascii"</span><span data-if="python" style="display:none">"stl_ascii"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ObjectModel3D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></b> (output_control)  </span><span>object_model_3d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the 3D object model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Status" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Status</span><span data-if="c" style="display:none">Status</span><span data-if="cpp" style="display:none">Status</span><span data-if="com" style="display:none">Status</span><span data-if="dotnet" style="display:none">status</span><span data-if="python" style="display:none">status</span></code></b> (output_control)  </span><span>string(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Status information.</p>
</div>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></code> 返回值
<TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if the given parameters are correct, the file can be read,
and the file is valid.
If the file format is unknown or cannot be determined, the error
9512 is raised.
If the file is invalid, the error 9510 is raised.
If necessary, an exception will be raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="write_object_model_3d.html"><span data-if="hdevelop" style="display:inline">write_object_model_3d</span><span data-if="c" style="display:none">write_object_model_3d</span><span data-if="cpp" style="display:none">WriteObjectModel3d</span><span data-if="com" style="display:none">WriteObjectModel3d</span><span data-if="dotnet" style="display:none">WriteObjectModel3d</span><span data-if="python" style="display:none">write_object_model_3d</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="affine_trans_object_model_3d.html"><span data-if="hdevelop" style="display:inline">affine_trans_object_model_3d</span><span data-if="c" style="display:none">affine_trans_object_model_3d</span><span data-if="cpp" style="display:none">AffineTransObjectModel3d</span><span data-if="com" style="display:none">AffineTransObjectModel3d</span><span data-if="dotnet" style="display:none">AffineTransObjectModel3d</span><span data-if="python" style="display:none">affine_trans_object_model_3d</span></a></code>, 
<code><a href="object_model_3d_to_xyz.html"><span data-if="hdevelop" style="display:inline">object_model_3d_to_xyz</span><span data-if="c" style="display:none">object_model_3d_to_xyz</span><span data-if="cpp" style="display:none">ObjectModel3dToXyz</span><span data-if="com" style="display:none">ObjectModel3dToXyz</span><span data-if="dotnet" style="display:none">ObjectModel3dToXyz</span><span data-if="python" style="display:none">object_model_3d_to_xyz</span></a></code>, 
<code><a href="prepare_object_model_3d.html"><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="xyz_to_object_model_3d.html"><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="write_object_model_3d.html"><span data-if="hdevelop" style="display:inline">write_object_model_3d</span><span data-if="c" style="display:none">write_object_model_3d</span><span data-if="cpp" style="display:none">WriteObjectModel3d</span><span data-if="com" style="display:none">WriteObjectModel3d</span><span data-if="dotnet" style="display:none">WriteObjectModel3d</span><span data-if="python" style="display:none">write_object_model_3d</span></a></code>, 
<code><a href="clear_object_model_3d.html"><span data-if="hdevelop" style="display:inline">clear_object_model_3d</span><span data-if="c" style="display:none">clear_object_model_3d</span><span data-if="cpp" style="display:none">ClearObjectModel3d</span><span data-if="com" style="display:none">ClearObjectModel3d</span><span data-if="dotnet" style="display:none">ClearObjectModel3d</span><span data-if="python" style="display:none">clear_object_model_3d</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
